#include <iostream>
#include <cstdio>
#include <string>
#include <vector>
#include <queue>
#include <algorithm>
#define REP(i,n) for(int i=0;i<int(n);++i)

using namespace std;

typedef long long  lld;

class cmp
{
	public: bool operator () (int *a,int *b) const
	{
		return *a>*b;
	}
};
int n,a[100100];
lld k;

void printAns()
{
	priority_queue<int*,vector<int*>,cmp> q;
	REP(i,n) q.push(a+i);
	int passed = 0;
	while(!q.empty())
	{
		int tmin = *(q.top())-passed;
		if(1ll*tmin*q.size()<=k)
		{
			k-=1ll*tmin*q.size();
			while(!q.empty()&& *(q.top())==tmin+passed)
			{
				q.pop();
			}
			passed+=tmin;
		}
		else
		{
			lld tt = k/q.size();
			REP(i,n) a[i]-=tt+passed;
			break;
		}
	}
	if(q.empty())
	{
		if(k)	puts("-1");
		else puts("");
	}
	else
	{
		int pos = k%q.size();
		int st = 0;
		int cnt = 0;
		REP(i,n) if(a[i]>0)
		{
			if(cnt == pos) {st = i;break;}
			cnt++;
		}
		cnt = 0;
		for(int i=st;cnt < q.size();i=(i+1)%n) if(a[i]>0)
		{
			if(i<st) a[i]--;
			if(a[i]>0) cout<<i+1<<" ";
			cnt++;
		}
		cout<<endl;
	}
}
int main()
{
	cin>>n>>k;
	REP(i,n) cin>>a[i];
	printAns();
	return 0;
}
